package com.szrt.day20170427;

import static org.junit.Assert.*;

import java.lang.reflect.Constructor;

import org.junit.Test;

public class ConstructorTest {
	
	
	/**
	 * 调用默认的构造方法
	 * @throws Exception
	 */
	@Test
	public void constructor01() throws Exception {
		
		//加载1个类   Class类的对象==现实生活中的CT扫描仪 照妖镜  可以知道穿过来的类有哪些方法 属性  注解
		Class clazz = Class.forName("com.szrt.day20170427.Student");
		
		//1 调用默认的构造方法
		
		clazz.newInstance();
		
	}
	
	
	/**
	 * 调用带参的构造方法
	 * @throws Exception
	 */
	@Test
	public void constructor02() throws Exception {
		
		//加载1个类   Class类的对象==现实生活中的CT扫描仪 照妖镜  可以知道穿过来的类有哪些方法 属性  注解
		Class clazz = Class.forName("com.szrt.day20170427.Student");
		
		//1 调用默认的构造方法
		
		
		//1.1 根据形参列表
		Constructor constructor = clazz.getConstructor(String.class,Integer.class);
		
		Object studentObject = constructor.newInstance("张三丰",50);
		
		System.out.println(studentObject);
		
	}

}
